package mysql.v1;

import java.sql.*;

/**
 * JDBC 增删改操作 CUD
 * JDBC 查询操作    R  --->MysqlJDBCV1
 * */
public class MysqlJDBCV1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
//        1.注册驱动--链接对应数据库--Mysql5.5驱动器
        Class.forName("com.mysql.jdbc.Driver");
//        2.准备工作：用户名、密码、url--Java字符串
        String username="root";
        String password="";
        String url="jdbc:mysql://localhost:3308/mi?characterEncoding=UTF-8";
//        3.链接数据库--DriverManger.getConnection
//        链接成功---返回Connection对象：表示Java与数据库链接成功
        Connection con=DriverManager.getConnection(url,username,password);
//        打桩：测试数据库  是否链接成功，链接成功返回Connection对象
        System.out.println("测试链接是否成功"+con);
//        4.执行sql【查询】
//        4.1Mysql  有库  mi  设置编码集  有表、切记：commit  数据入库
//        4.2Java 执行sql【字符串查询】
        String sql="select * from book";
//        4.3Java 执行sql查增改删---链接成功数据库
//        Statement执行sql  查操作      executeQuery(sql);
//                                     返回值：ResultSet  结果对象集
//        Statement执行sql  增删改操作   executeUpdate(sql);
//                                     返回值：int 记录多少条数据
        Statement st=con.createStatement();
//        ResultSet结果集保存表中所有数据
        ResultSet rs=st.executeQuery(sql);
//        5.查询【book表】ResultSet 对象提供方法 next()依次获取字段下的记录【数据】
//        book表---字段7个--for   do while   while
//        while循环拿所有字段以及记录数
//        看数据---ResultSet结果集--取--字段下记录

        while (rs.next()){ //依次取出数据库中  book表所有字段：7个
//            显示字段下记录
//            getInt() 取出数据库中 int类型的字段
//            Mysql int类型  对应   Java int类型
            int id=rs.getInt("id");
//            Mysql varchar类型  对应   Java string类型
            String author=rs.getString("author");
            String name=rs.getString("name");
            int price=rs.getInt("price");
            String date=rs.getString("date");
            int number=rs.getInt("number");
            String discount=rs.getString("discount");
            System.out.println(name);
        }

    }
}
